Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.

...powered by www.netzwerkartist.de...

 <<   zurück
Visual Basic 2005 von Andreas Kühnel
Das umfassende Handbuch
Buch: Visual Basic 2005

Visual Basic 2005
1.233 S., mit 2 CDs, 59,90 Euro
Galileo Computing
ISBN 3-89842-585-1
gp Kapitel 16 Die wichtigsten Steuerelemente
  gp 16.1 Gemeinsame Eigenschaften, Methoden und Ereignisse
    gp 16.1.1 Größe und Position
    gp 16.1.2 Die Sichtbarkeit und der Aktivierungszustand
    gp 16.1.3 Die Eigenschaft »Text«
    gp 16.1.4 Die Farbeigenschaften
    gp 16.1.5 Grafische Darstellung
    gp 16.1.6 Die »Modifiers«-Eigenschaft
    gp 16.1.7 Die Eigenschaft »Tag«
    gp 16.1.8 Die Größe von Steuerelementen dynamisch der Formgröße anpassen
    gp 16.1.9 Die »Dock«-Eigenschaft
    gp 16.1.10 Die z-Reihenfolge
    gp 16.1.11 Die Tabulatorreihenfolge
    gp 16.1.12 Steuerelemente fokussieren
    gp 16.1.13 Maus- und Tastaturereignisse
  gp 16.2 Schaltflächen der Klasse »Button«
    gp 16.2.1 Die Rahmendarstellung einer Schaltfläche
    gp 16.2.2 Die Eigenschaft »FlatAppearance«
    gp 16.2.3 Beschriftung und Grafiken
    gp 16.2.4 Weitere Gestaltungsmöglichkeiten
  gp 16.3 Auswahlkästchen mit der Klasse »CheckBox«
    gp 16.3.1 Eigenschaften eines Kontrollkästchens
    gp 16.3.2 Checkboxen mit drei Aktivierungszuständen
  gp 16.4 Die Klasse »RadioButton« (Optionsschaltflächen)
    gp 16.4.1 Die Gruppierung der Optionsschaltflächen
    gp 16.4.2 Die Eigenschaften von Optionsschaltflächen
    gp 16.4.3 Den Zustandswechsel programmieren
  gp 16.5 Die »GroupBox« als übergeordneter Container
  gp 16.6 Texteingabefelder mit der Klasse »TextBox«
    gp 16.6.1 Einzeilige Eingabefelder
    gp 16.6.2 Mehrzeilige Eingabefelder
  gp 16.7 Das Steuerelement »RichTextBox«
  gp 16.8 Beschriftungen mit dem Steuerelement »Label«
  gp 16.9 Das »LinkLabel«-Steuerelement
  gp 16.10 Die Anzeige eines QuickInfo-Texts
    gp 16.10.1 Methoden des »ToolTip«-Steuerelements
    gp 16.10.2 Aktivierungsdauer des »QuickInfo«-Steuerelements
    gp 16.10.3 Weitere Eigenschaften
  gp 16.11 Das »ListBox«-Steuerelement
    gp 16.11.1 Die Auflistung »ListBox.ObjectCollection«
    gp 16.11.2 Eigenschaften zur Darstellung einer Listbox
    gp 16.11.3 Einfach- und Mehrfachauswahl der Listenelemente
    gp 16.11.4 Programmatischer Zugriff auf Listboxen mit Einfachauswahl
    gp 16.11.5 Benutzerdefiniertes Sortieren der Listenelemente
    gp 16.11.6 Füllen einer Listbox mit »DataSource«
  gp 16.12 Das Steuerelement »CheckedListBox«
  gp 16.13 Die »ComboBox« (Kombinationslistenfeld)
    gp 16.13.1 Ereignisse eines Kombinationslistenfeldes
    gp 16.13.2 Autovervollständigung in einer »ComboBox«


Galileo Computing

16.2 Schaltflächen der Klasse »Button«  downtop

Das wohl in nahezu jedem Formular benutzte Steuerelement ist die Schaltfläche. Erzeugt werden Schaltflächen durch die Instanziierung der Klasse Button, die direkt aus ButtonBase abgeleitet ist und nur einen parameterlosen Konstruktor bereitstellt:


Dim btnOK As New Button

Falls Sie den Designer verwenden, brauchen Sie sich keine Gedanken über die Instanziierung zu machen, das wird vom Visual Studio für Sie erledigt. Nur einen passenden Bezeichner sollten Sie in jedem Fall unter der Eigenschaft Name im Eigenschaftsfenster eintragen. Außerdem empfiehlt sich ein Präfix, aus dem der Typ hervorgeht – beispielsweise btn bei einer Schaltfläche. Der Programmcode wird dadurch besser lesbar. Der zweite Schritt nach der Vergabe eines passenden Bezeichners ist bei einer Schaltfläche auch vorgezeichnet: die Beschriftung mit der Eigenschaft Text.

Betätigt wird eine Schaltfläche durch einen Mausklick oder die (Enter)- bzw. die (Space)-Taste, falls die Schaltfläche den Fokus besitzt. In Kapitel 15 haben Sie erfahren, dass eine Schaltfläche mit der Eigenschaft AcceptButton des Formulars zur Standardschaltfläche erklärt werden kann und immer dann auf die Eingabetaste reagiert, wenn keine andere Schaltfläche im Besitz des Fokus ist. Meistens werden OK-Schaltflächen mit dieser Verhaltensweise ausgestattet. Abbrechen-Schaltflächen schließen das aktuelle Fenster. Mit der Eigenschaft CancelButton der Form kann das Drücken der (ESC)-Taste einer bestimmten Schaltfläche zugeordnet werden.


Galileo Computing

16.2.1 Die Rahmendarstellung einer Schaltfläche  downtop

FlatStyle beschreibt die Rahmendarstellung einer Schaltfläche. Sehen wir uns die Definition der Eigenschaft FlatStyle genauer an:


Public Property FlatStyle As FlatStyle

Viele Eigenschaften haben einen Bezeichner, der dem Typ der Eigenschaft entspricht, der seinerseits eine Enumeration ist. Das gilt auch für FlatStyle, die vier Einstellmöglichkeiten anbietet.


Tabelle 16.2     Die Konstanten der Enumeration »FlatStyle«

Member Beschreibung
Flat Flache Darstellung ohne 3D-Effekte.
Popup Ein 3D-Effekt wird sichtbar, wenn sich die Maus über das Steuerelement bewegt.
Standard Die herkömmliche 3D-Darstellung. Dies ist auch die Vorgabe, wenn kein anderer Wert eingestellt wird.
System Die Darstellung des Steuerelements wird durch das Betriebssystem des Benutzers bestimmt.

Zur Veranschaulichung wollen wir uns nun alle vier Darstellungsweisen in einer Form anzeigen lassen. Dazu schlagen wir einen Weg ein, der bereits in Kapitel 5, Abschnitt 5.5.1, vorgestellt worden ist.

Bekanntlich wird jede Enumeration aus der abstrakten Klasse System.Enum abgeleitet. Diese enthält die statische Methode GetValues, die ein Array der in der Enumeration enthaltenen Konstanten zurückliefert:


Public Shared Function GetValues(enumType As Type) As Array

Über die abstrakte Klasse Type lassen sich zu einem bestimmten Typ alle gewünschten Informationen beschaffen. Mit der Funktion GetType, der als Argument ein Typ übergeben wird, wird das Type-Objekt für diesen Typ abgerufen. Wollen wir alle Konstanten der Enumeration FlatStyle in einer For Each-Schleife durchlaufen, muss der Schleifenkopf wie folgt definiert werden:


For Each style As FlatStyle In [Enum].GetValues(GetType(FlatStyle))
...
Next

Im folgenden Beispiel FlatStyleDemo wird der vollständige Einsatz dieser Schleife gezeigt. Dabei wird bei jedem Schleifendurchlauf eine neue Schaltfläche mit neuen Positionsdaten erzeugt. Jede Schaltfläche hat eine andere FlatStyle-Einstellung, die von der Schleifenvariablen style geliefert wird. Durch das Hinzufügen zu der Auflistung ControlCollection über die Eigenschaft Controls wird sichergestellt, dass jede Schaltfläche im Fenster angezeigt wird. Der Code im Ereignis DoubleClick der Form, deren Name Form1 lautet, wird implementiert.


' ----------------------------------------------------------
' Beispiel: ...\Kapitel 16\FlatStyleDemo
' ----------------------------------------------------------
Public Class Form1
Private Sub Form1_DoubleClick(...) Handles MyBase.DoubleClick
Dim yKoordinate As Integer = 0
For Each style As FlatStyle In [Enum].GetValues(GetType(FlatStyle))
Dim btnFlatStyle As New Button
btnFlatStyle.FlatStyle = style
btnFlatStyle.Size = New Size(80, 25)
btnFlatStyle.Text = style.ToString()
yKoordinate += 45
btnFlatStyle.Location = New Point(30, yKoordinate)
Me.Controls.Add(btnFlatStyle)
Next
End Sub
End Class

Die Abbildung 16.2 zeigt die Ausgabe des Programmbeispiels, wobei der Effekt der Popup-Schaltfläche durch die Abbildung nicht wiedergegeben werden kann.

Abbildung
Hier klicken, um das Bild zu Vergrößern

Abbildung 16.2     Die Auswirkungen der Einstellung Eigenschaft »FlatStyle«


Galileo Computing

16.2.2 Die Eigenschaft »FlatAppearance«  downtop

Vorausgesetzt, Sie haben sich für FlatStyle.Flat entschieden, stehen Ihnen über die Rahmendarstellung mit FlatStyle hinaus noch weitere Gestaltungsmöglichkeiten offen. Ausgangspunkt ist die Eigenschaft FlatAppearance, die mit .NET 2.0 eingeführt worden ist. Flat-Appearance liefert die Referenz auf ein Objekt vom Typ FlatButtonAppearance, das mit fünf Eigenschaften aufwartet. Vier davon beeinflussen die Darstellung eines Buttons.


Tabelle 16.3     Die Eigenschaften der Klasse »FlatButtonAppearance«

Eigenschaft Beschreibung
BorderColor Legt die Rahmenfarbe der Schaltfläche fest.
BorderSize Legt die Rahmenbreite der Schaltfläche fest.
MouseDownBackColor Bestimmt die anzuzeigende Hintergrundfarbe der Schaltfläche, wenn auf die Schaltfläche geklickt wird.
MouseOverBackColor Bestimmt die anzuzeigende Hintergrundfarbe der Schaltfläche, wenn die Maus über die Schaltfläche gezogen wird.


Galileo Computing

16.2.3 Beschriftung und Grafiken  downtop

Zur Gestaltung Ihrer Schaltflächen können Sie auf jeder Schaltfläche eine Grafik anzeigen lassen. Dazu dient die Eigenschaft Image. Man kann darüber streiten, ob das mehr der Spielerei eines Entwicklers zugeordnet werden muss oder zu einem ansprechenden Design beiträgt. Zu den darstellbaren Bildern zählen Bitmaps, Icons und Metafiles. Bilder lassen sich anstelle oder zusammen mit der Beschriftung anzeigen.

Abbildung
Hier klicken, um das Bild zu Vergrößern

Abbildung 16.3     Schaltflächen mit Beschriftung und Bild

Weisen Sie einer Schaltfläche sowohl ein Image als auch eine Beschriftung zu, werden beide Elemente zunächst zentral auf der Oberfläche der Schaltfläche angezeigt. Um die beiden optisch voneinander zu trennen, können Sie die Ausrichtung des Textes und des Bildchens mit den Eigenschaft TextAlign bzw. ImageAlign wunschgemäß festlegen. Die möglichen Einstellungen dieser beiden Eigenschaften wird durch eine der Konstanten der Enumeration ContentAlignment beschrieben.


Tabelle 16.4     Die Konstanten der Enumeration »ContentAlignment«

Member Beschreibung
BottomCenter Der Inhalt wird vertikal am unteren Rand und horizontal zentriert ausgerichtet.
BottomLeft Der Inhalt wird vertikal am unteren Rand und horizontal linksbündig ausgerichtet.
BottomRight Der Inhalt wird vertikal am unteren Rand und horizontal rechtsbündig ausgerichtet.
MiddleCenter Der Inhalt wird vertikal an der Mitte und horizontal zentriert ausgerichtet.
MiddleLeft Der Inhalt wird vertikal an der Mitte und horizontal linksbündig ausgerichtet.
MiddleRight Der Inhalt wird vertikal an der Mitte und horizontal rechtsbündig ausgerichtet.
TopCenter Der Inhalt wird vertikal am oberen Rand und horizontal zentriert ausgerichtet.
TopLeft Der Inhalt wird vertikal am oberen Rand und horizontal linksbündig ausgerichtet.
TopRight Der Inhalt wird vertikal am oberen Rand und horizontal rechtsbündig ausgerichtet.

Im Code sieht die Anweisung dazu beispielsweise wie folgt aus:


Me.btnOK.ImageAlign = ContentAlignment.MiddleLeft

Deutlich komfortabler ist die Einstellung im Eigenschaftsfenster der Entwicklungsumgebung. Markieren Sie eine der beiden Eigenschaften TextAlign oder ImageAlign, wird im Eigenschaftsfenster ein Hilfsfenster geöffnet, in dem Sie den Bereich auswählen können, in dem das Element angezeigt werden soll.

Abbildung
Hier klicken, um das Bild zu Vergrößern

Abbildung 16.4     Einstellen der Eigenschaft »ImageAlign«

Die Ausrichtung der Beschriftung und des Symbols mit TextAlign und ImageAlign ist trotzdem immer noch einigen Einschränkungen unterworfen. Noch mehr gestalterische Freiheit gestattet die mit .NET 2.0 eingeführte Eigenschaft TextImageRelation. Mit den Einstellungen Overlay, ImageAboveText, ImageBeforeText, TextAboveImage und TextBeforeImage lassen sich Beschriftung und Symbol Bereichen zuordnen, innerhalb derer die beiden Elemente mit Text- und ImageAlign relativ zueinander verschoben werden können.

Eine zusätzliche Alternative bietet das Steuerelement ImageList. Dieses hat die Aufgabe, mehrere Symbole in einer Auflistung zu verwalten. Sie können das Steuerelement in den Forms Designer ziehen und anschließend mittels eines Assistenten Bildchen hinzufügen. Anschließend geben Sie der Eigenschaft ImageList des Buttons an, aus welchem ImageList-Objekt das Symbol für die Schaltfläche bezogen werden soll. Das exakte Bildchen aus der Auflistung lässt sich dann aus der Liste, welche die beiden Eigenschaften ImageIndex oder ImageKey anzeigen, festlegen.


Galileo Computing

16.2.4 Weitere Gestaltungsmöglichkeiten  toptop

Vielleicht ist es Ihnen schon Folgendes aufgefallen: Haben Sie einem Formular eine vom Standard abweichende Hintergrundfarbe über die Eigenschaft BackColor zugewiesen, wird jedes Steuerelement die neue Hintergrundfarbe der Form annehmen. Dieses Verhalten zeigt sich nicht nur bei der Änderung der Hintergrundfarbe eines Fensters, auch die Vordergrundfarbe (Eigenschaft ForeColor) und die unter Font eingestellte Schriftart sind davon betroffen.

Nicht immer ist es wünschenswert, dieses Verhalten zu übernehmen. Das müssen Sie auch nicht. Stellen Sie einfach eine von der Hintergrundfarbe der Form abweichende Farbe ein, beispielsweise mit:


btnMeinBunterButton.BackColor = Color.Yellow

Das Steuerelement, in diesem Fall ein Button, behält jetzt die ihm zugewiesene gelbe Farbe. Gleiches gilt auch für ForeColor und Font. Um zur Laufzeit wieder zum Standardverhalten zurückzukehren und die Einstellungen der Form zu übernehmen, erben die Steuerelemente aus der Basisklasse Controls die drei Methoden ResetFont, ResetBackColor und ResetForeColor.

 <<   zurück
  
  Zum Katalog
Zum Katalog: Visual Basic 2005
Visual Basic 2005
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Visual C# 2005






 Visual C# 2005


Zum Katalog: Fortgeschrittene Programmierung mit Visual C# 2005






 Fortgeschrittene
 Programmierung
 mit Visual C# 2005


Zum Katalog: Das Programmierhandbuch SQL Server 2005






 Das Programmier-
 handbuch
 SQL Server 2005


Zum Katalog: Einstieg in Visual Basic 2005






 Einstieg in
 Visual Basic 2005


Zum Katalog: Einstieg in Visual C# 2005






 Einstieg in
 Visual C# 2005


Zum Katalog: Konzepte und Lösungen für Microsoft-Netzwerke






 Konzepte und
 Lösungen für
 Microsoft-Netzwerke


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo








Copyright © Galileo Press 2007
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de